/* 基于堆栈的队列 */

#ifndef __QUEUE_BASE_STACK_H__
#define __QUEUE_BASE_STACK_H__


#include <stdlib.h>
#include <stdio.h>
#include "../day01/stack_base_list.h"

/* 队列 */
typedef struct Queue 
{
	STACK* istack;
	STACK* ostack;
}	QUEUE;

/* 创建 */
QUEUE* queue_create (void);

/* 销毁 */
void queue_destroy (QUEUE* queue);

/* 压入 */
void queue_push (QUEUE* queue, int data);

/* 弹出 */
int queue_pop (QUEUE* queue);


/* 清空 */
void queue_clear (QUEUE* queue);

/* 大小 */
int  queue_size (QUEUE* queue);

/* 判空 */
int queue_empty (QUEUE* queue);

#endif /* __QUEUE_BASE_STACK_H__ */
